package org.db2.project.airline.dto;

import org.db2.project.airline.model.Airport;
import org.db2.project.airline.model.FlightClassType;

import java.util.Date;

/**
 *
 */
public class FlightPlanQueryCriteria {

    private Airport departure;

    private Airport arrival;

    private Date departureDate;

    private Date arrivalDate;

    private boolean isOneWay;

    private boolean twoDaysSpan;

    private int numberOfSeats;

    private FlightClassType flightClassType;

    public FlightPlanQueryCriteria() {
        // empty constructor
    }

    public FlightPlanQueryCriteria(Airport departure, Airport arrival, Date departureDate,
                                   Date arrivalDate, boolean oneWay, boolean twoDaysSpan,
                                   int numberOfSeats, FlightClassType flightClassType) {

        this.departure = departure;
        this.arrival = arrival;
        this.departureDate = departureDate;
        this.arrivalDate = arrivalDate;
        isOneWay = oneWay;
        this.twoDaysSpan = twoDaysSpan;
        this.numberOfSeats = numberOfSeats;
        this.flightClassType = flightClassType;
    }

    public Airport getDeparture() {
        return departure;
    }

    public void setDeparture(Airport departure) {
        this.departure = departure;
    }

    public Airport getArrival() {
        return arrival;
    }

    public void setArrival(Airport arrival) {
        this.arrival = arrival;
    }

    public Date getDepartureDate() {
        return departureDate;
    }

    public void setDepartureDate(Date departureDate) {
        this.departureDate = departureDate;
    }

    public Date getArrivalDate() {
        return arrivalDate;
    }

    public void setArrivalDate(Date arrivalDate) {
        this.arrivalDate = arrivalDate;
    }

    public boolean isOneWay() {
        return isOneWay;
    }

    public void setOneWay(boolean oneWay) {
        isOneWay = oneWay;
    }

    public boolean isTwoDaysSpan() {
        return twoDaysSpan;
    }

    public void setTwoDaysSpan(boolean twoDaysSpan) {
        this.twoDaysSpan = twoDaysSpan;
    }

    public int getNumberOfSeats() {
        return numberOfSeats;
    }

    public void setNumberOfSeats(int numberOfSeats) {
        this.numberOfSeats = numberOfSeats;
    }

    public FlightClassType getFlightClassType() {
        return flightClassType;
    }

    public void setFlightClassType(FlightClassType flightClassType) {
        this.flightClassType = flightClassType;
    }
}
